home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 8
/
Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso
/
Aminet
/
misc
/
unix
/
mapux.lha
/
MAPUX.readme
< prev
next >
Wrap
Text File
|
1992-09-02
|
6KB
|
135 lines
This is a quick pre-release binary-only demo of MAPUX, a UNIX-a-like for
Amigas without MMUs. This distribution has been compiled on and for an
Amiga A1200 with just the usual 2MB of RAM. Currently the only devices
are /dev/fdd (the single internal floppy), /dev/tty[0123] (four separate
"terminals" using the Amiga's internal video, /dev/null and /dev/mem. A
hard disc, or a great deal of patience, is required to actually boot MAPUX.
MAPUX may work on other Amigas: they must have a contiguous area of memory
from 0 to 2MB (doesn't need to be ChipRAM) and have at least an '020 because
of some m/c instructions used. Higher processors may also work (untested)
and machines with less memory may work for a limited period (the system
uses low memory address first).
The MAPUX kernel is a port and enhancement of UZI, a freely distributably
V7 kernel for Z80 systems, written from scratch by Douglas Braun. Please
direct all reponses to me, not him, as he is not liable in any way shape or
for MAPUX's bugs, shortfalls or whatever.
You will need Bruno Costa's dd (available from Aminet as /disk/misc/dd.lzh)
in order to alter the contents of the floppy disc. The file included with
this distribution called 'testdev' is an image of the contents of a standard
format floppy disc. This image can be mapipulated by the supplied tools
mkfs and ucp, which create a new filesystem and allow files to be read
and written respectively. The initial contents of testdev is probably the
best place to start, however.
ucp, when run gives you a cross between an ftp session and a UNIX shell.
get moves files from the AmigaDOS fs to the MAPUX one while put does the
opposite. mkdir, rmdir, mknod, chmod and so forth do what you'd expect.
fsck requires three arguments: device number (0), isize (block devoted to
inode storage) and fsize (total size of device in blocks). An isize of
128 seems to work for me. Device must be 0, and fsize must be 1760.
In order to boot MAPUX:
- dump the floppy image to the drive using the supplied scriptette
'dwrite'.
- reset your 1200 and boot with no startup sequence
- cd into wherever you unpacked the archive
- execute the command mapgo
If all goes well, the file kerim will be loaded into low memory and
executed. You will be presented with a short message and a prompt (boot:)
enter 0 (device number of the floppy drive) and press return. You should
then notice some disc activity then a login: prompt. MAPUX is running.
There are three users already set up: root, mcy and tester. All three have
the same password as login (in this binary the password is displayed - I
don't know why, it didn't before, I'll add it to the bug list).
/bin contains some commands written by myself. They are not complete
implementations of the UNIX version and none of them accept any flags. When
a suitable C library becomes available the BSD commands (or others) may be
used instead.
Used the function keys f1, f2, f3, and f4 to move between the terminals.
Beware that the multiple terminals were not supported in UZI and in MAPUX
still, a control-C will send to signal to _all_processes_you_own_ not just
those started from the current terminal. This is on the to-fix list.
The shell, winsh, is the Well I Never SHell. It's small and largely
featureless. It supports IO redirection (>,<, and >>) but not pipes (this
is a limitation of winsh, not MAPUX). Variables can be set with "set vname
value" and accessed in commands by prefixing vname with a dollar symbol.
Some variable names are already set by login. Try these:
echo $name
echo $realname
echo $home
echo $path
The $path variable is used by the shell when looking for commands.
Previous commands can be executed with "!-n" where n is 1-7. Use the
command "history" to see what's in the buffer. logout exits from the shell
(without sending SIGHUP to running processes - something else for the fix
list).
Most commands that use filenames also accept wildcards in a twisted kind of
way (not regexps, just * and ?). Also they generally accept several
filenames on the command line. ls in particular does not behave as you
might expect (try 'ls /bin' then 'ls /bin/*'). The supplied commands are:
cat filename Dump files to stdout
chmod perms file Change file permissions (argument in octal)
chown uid gid file Change owner and group of file (uid/gid as numbers)
clear Clear the screen
cmp file file Compare two files (result is retval, not displayed)
echo words Print arguments of stdout
kill -signum pid Send a signal to a process
ls file Lists the contents of directories
mkdir file Creates a new directory (buggy)
mknod perms dev file Creates a node in the filesystem (buggy)
winsh The rather dodgy shell
sleep n Waits for n seconds
sync Flushes the buffers (do this before powerdown)
emit a b c... Echos decimal ASCII values to stdout
init The first process run automatically by MAPUX
login Allows one to log into the machine
dump file Hexadecimal/ASCII dump of a file
error n Turns an error number into an English message
ps Lists running processes
rm Removes a file (buggy when removing directorys)
tetris Slow tetris (think of it as a demo)
Other files in the supplied filesystem are:
/etc/logins List of devices when login prompts are displayed
/etc/passwd The password file in the usual format. Note that
currently there is no password encryption
/dev/fdd The floppy disc block device
/dev/tty Console device (press f1)
/dev/null The null device
/dev/mem All memory as a character device (used by ps)
/dev/tty[123] The other terminals (press f1,f2,f3)
There are some known bugs in the commands and in the kernel itself. If you
find any, please let me know. If you can narrow them down to a particular
circumstance, that's even better (rather than "Sometime when I...").
Parts of the code are copyright other people but freely disributable. I
trust they won't sue for lack of acknowldegment in this release. Everything
will be included in the forth coming source release.
If you want a copy of the source now, send a blank floppy and SSAE to me
and I'll return said code (as it currently stands) to you. I'll upload
it when I've fixed a few of the more pressing bugs. Note that the most
urgent things needed now are harddrive drivers and a native C compiler.
If you could help with either of these, please drop me a line. Thanks.
My snail address is:
Martin Young,
74A Leigh Road,
Eastleigh,
Hants.